package file;

import javax.swing.plaf.basic.BasicOptionPaneUI;
import java.io.*;

/*
缓冲流；是一对高级流，作用是加快读写效率的
1) BufferedInputStream  缓冲输入流
2）BufferedOutputStream   缓冲输出流
缓冲流快的原因
1）缓冲流内部有一个8kb的字节数组，缓冲流底层将其转换为块读写
缓冲流的意义
不同的高级流有不同的功能，但缓冲流才具有加速功能
其他高级流不具备加速功能，都是单字节读写
若此时又想要完成加速功能，可以加入缓冲流


 */
public class CopyDemo3Buffered {
    public static void main(String[] args) throws IOException {
        FileInputStream fis=new FileInputStream("wyt.jpg");
        //缓冲   输入流
        BufferedInputStream bis=new BufferedInputStream(fis);
        FileOutputStream fos=new FileOutputStream("wyt_cp.jpg");
        //缓冲输出流
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        //当前时间
        long start=System.currentTimeMillis();
        int b;
        //读取缓冲输入内容
        while ((b=bis.read())!=-1){
            //写 读取到的数据
            bos.write(b);
        }
        long end=System.currentTimeMillis();
        System.out.println("复制完成,用时"+(end-start)+"毫秒");
        bis.close();
        bos.close();
    }
}

